<!--共同的商品列表组件  -->
<template>
  <div class="category-list">
    <div :class="listFlag ? 'product-list' : 'product-list-medium'">
      <ul>
        <li
          v-for="productData in productDatas"
          :key="productData.goods_id"
          @click="toGoodsDetail"
        >
          <!-- 商品的图片 -->
          <div class="goods-img">
            <img :src="productData.goods_thumb" alt="" />
          </div>
          <!-- 商品题目及价格label -->
          <div class="info-box">
            <div class="title">{{ productData.goods_name }}</div>
            <!-- 现价 -->
            <div class="currency-price">
              <em>¥</em>
              <!-- 整数 -->
              <span>{{ productData.shop_price | setInt }}</span>
              <!-- 小数 -->
              <em>{{ productData.shop_price | setFloat }}</em>
            </div>
            <div class="label-list">
              <!-- 进行进店和自营的判断 -->
              <em class="tag">{{
                productData.self_run === "" ? "自营" : "进店"
              }}</em>
              <a
                href=""
                v-for="label in productData.goods_label.slice(0, 2)"
                :key="label.label_id"
              >
                <img :src="label.formated_label_image" alt=""
              /></a>
            </div>
            <div class="outer">
              <span>{{ productData.sales_volume }}人已购买</span>
              <div class="add_cart">
                <i class="iconfont icon-gouwuche"></i>
              </div>
            </div>
          </div>
        </li>
      </ul>
    </div>
  </div>
</template>

<script>
//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
//例如：import 《组件名称》 from '《组件路径》';

export default {
  //import引入的组件需要注入到对象中才能使用
  components: {},
  data() {
    //这里存放数据
    return {};
  },
  //计算属性 类似于data概念
  computed: {},
  props: ["productDatas", "listFlag"],
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {
    toGoodsDetail() {
      this.$router.push("/goodsdetail");
    },
  },
  beforeCreate() {}, //生命周期 - 创建之前
  //生命周期 - 创建完成（可以访问当前this实例）
  created() {},
  beforeMount() {}, //生命周期 - 挂载之前
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {},
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {}, //如果页面有keep-alive缓存功能，激活
  deactivated() {}, //如果页面有keep-alive缓存功能，非激活
};
</script>
<style lang="less">
.category-list {
  width: calc(100% - 2rem);
  margin: 0 auto;
  .product-list {
    ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      li {
        width: 17.2rem;
        border-radius: 1rem;
        margin: 1rem 0;
        background-color: #fff;
        overflow: hidden;
        .goods-img {
          width: 17.2rem;
          height: 17.2rem;
          img {
            width: 100%;
            height: 100%;
          }
        }
        .info-box {
          padding: 0.5rem;
          // 题目
          .title {
            font-size: 1.4rem;
            color: #333;
            // 多行文本省略号
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            overflow: hidden;
          }
          // 现价
          .currency-price {
            margin: 0.5rem 0;
            font-weight: 700;
            color: rgb(228, 49, 36);
            font-size: 1.6rem;
            em {
              font-size: 1.2rem;
            }
          }
          // 标签
          .label-list {
            display: flex;
            .tag {
              background-color: #f92028;
              color: #fff;
              font-size: 1rem;
              height: 1.6rem;
              line-height: 1.6rem;
              padding: 0 0.5rem;
              border-radius: 0.2rem;
              margin-right: 0.5rem;
            }
            a {
              height: 1.6rem;
              margin: 0 0.5rem 0 0;
              img {
                height: 100%;
                width: auto;
              }
            }
          }
          // 购物车
          .outer {
            padding: 0.5rem 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 0.5rem;
            span {
              color: #999;
              font-size: 1.2rem;
            }
            i {
              color: rgb(228, 49, 36);
              margin-right: 0.5rem;
            }
          }
        }
      }
    }
  }
  // 垂直方向的商品
  .product-list-medium {
    ul {
      li {
        width: calc(100% - 2rem);
        height: 13.3rem;
        margin: 0.5rem auto;
        border-radius: 1rem;
        background-color: #fff;
        display: flex;
        padding: 1rem;
        img {
          width: 9rem;
          height: 9rem;
          border: 1px solid #f1f1f1;
        }
        .info-box {
          padding: 1rem;
          .title {
            font-size: 1.4rem;
            height: 3.8rem;
            line-height: 1.9rem;
            // 多行文本省略号
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            overflow: hidden;
          }
          // 价格样式
          .currency-price {
            margin-top: 1rem;
            font-weight: 700;
            color: rgb(242, 14, 40);
            font-size: 1.5rem;
            em {
              font-size: 1.05rem;
            }
          }
          //   推广图标的样式
          .lable-list {
            margin-top: 0.5rem;
            display: flex;
            .tag {
              background-color: #f92028;
              color: #fff;
              font-size: 1rem;
              height: 1.6rem;
              line-height: 1.6rem;
              padding: 0 0.5rem;
              margin-right: 0.3rem;
              border-radius: 0.2rem;
            }
            a {
              height: 1.6rem;
              margin-right: 0.5rem;
              img {
                height: 100%;
                width: auto;
              }
            }
          }
          // 购买人数和购物车的内容
          .outer {
            height: 2rem;
            display: flex;
            justify-content: space-between;
            margin-top: 1rem;
            span {
              color: #999;
              font-size: 1.2rem;
            }
            .icon-gouwuche1 {
              color: #f92028;
            }
          }
        }
      }
    }
  }
}
</style>